1. Field of the Invention
The present invention relates to an encryption algorithm evaluation support system for supporting an evaluation work of an encryption algorithm.
2. Description of the Related Art
The importance of an encryption technique for preventing the leakage of information has been rising in conjunction with the rapid spread of network. There are roughly two encryptions of a common key encryption in which the same key is used in the encoding and the decoding and a public key encryption in which different keys are used such as a secret key and a public key. The common key encryption has a problem of a method in which a key is commonly used between a sender and receiver. However, it has a merit in which a calculation amount necessary for the encoding and the decoding is smaller than that of the public key encryption. Thus, it is used in many fields and uses.
On the one hand, the technique for decoding the encryption algorithm has rapidly made great progress. It is true that the security of a encryption currently being used can not be permanently insured. Thus, it is important to positively design a new encryption algorithm, which can endure a new decoding technique, and evaluate its strength in advance. Several techniques for attaining it have been conventionally proposed or put to practical use.
For example, Japanese Laid Open Patent Application (JP-A-Heisei, 10-240511) (hereafter, referred to as a document 1) proposes an encryption diagram editor in which a user can describe and edit the diagram representation in an entire block encryption algorithm by using a predetermined diagram representation, such as a diagram representation of a variable with a bit string data as a value, a diagram representation of an operation on a bit string data or a diagram representation for combining a variable and an operation, as an example of a conventional technique for supporting a design of an encryption algorithm. Also, the document 1 proposes a technique for automatically generating a block encryption program from a block encryption algorithm designed by using the encryption diagram editor, and a technique for testing whether or not this generated program accurately reproduces the original algorithm.
On the other hand, Japanese Laid Open Patent Application (JP-A-Heisei, 11-212452 corresponding to Japanese patent application No. Heisei 10-029132) (hereafter, referred to as a document 2) according to the prior application of this inventor proposes a encryption strength evaluation support system containing: a device for statistically determining a relative relation for each bit of an input/output data of an encryption program by using a large number of evaluation data (a clear-text, a key and the like); and a device for editing the relative relation for each determined bit into a table form or a graph form and outputting it, as an example of a conventional technique for supporting a strength evaluation of a developed encryption program. The content of a copending U.S. patent application Ser. No. 09/236,640 now U.S. Pat. No. 6,504,929B1, claiming a priority based on Japanese patent application No. Heisei 10-029132 corresponding to the document 2 is incorporated herein by reference.
The usage of the encryption diagram editor described in the document 1 enables the encryption algorithm to be effectively designed. Also, the usage of the encryption strength evaluation support system described in the document 2 enables the strength evaluation of the encryption program to be carefully carried out.
However, in order to carry out the strength evaluation of the designed encryption algorithm, it is necessary to execute a statistic process by using a large number of evaluation data, after generating an actual encryption program from the encryption algorithm. Thus, it takes a long time to determine the evaluation result. If the time until the end of an evaluation after the design of one encryption algorithm is made longer, the number of encryption algorithms that can be compared and considered within a limited design development period and the number of design change times are limited to thereby make the development of the encryption algorithm optimal for a usage purpose difficult.
Therefore, an object of the present invention is to provide a encryption evaluation support system that can largely reduce an evaluation time of an encryption algorithm.
Another object of the present invention is to provide a encryption evaluation support system in which even a person who is not a professional in encryption design can evaluate an encryption algorithm.
Japanese Laid Open Patent Application (JP-A-Heisei, 8-190344) discloses the following method for evaluating a strength of an encryption algorithm. It is provided with: an initial value setter for setting an initial value in searching for a maximum deviation rate in an n-stage linear representation of the encryption algorithm; a search candidate extractor for extracting a search pattern candidate from a limitation condition; a best representation searcher for searching for an n-stage linear representation having the maximum deviation rate under a target for a search pattern candidate set; a clear-text information amount calculator for calculating a clear-text information amount required to decode a encryption by using a linear decoding method in accordance with the maximum deviation rate; and an output device for outputting the clear-text information amount.
Japanese Laid Open Patent Application (JP-A-Heisei, 11-65438) discloses the following encryption strength evaluator. The encryption strength evaluator for obtaining a encryption text and determining its key is provided with: a first LSI for generating a table; a storing device for storing therein the generated table; a second LSI for processing the encryption text; a memory for picking up and expanding the table; a comparing processor for comparing the table with a value in which the encryption text is processed; a verifying processor for verifying a value picked up from this comparing processor; a third LSI for processing an initial value used in generating the table for the verification; a unit having the first LSI, the storing device, the second LSI, the memory and the comparing processor, and a local computer for controlling this unit. This evaluator preliminarily prepares a plurality of tables under the assumption of the clear-text, and obtains the encryption text, and then repeats the processing of the encryption text and the comparison with the table, and accordingly determines the key of the encryption.